From: Keir Fraser Date: Thu, 10 Jan 2008 22:53:43 +0000 (+0000) Subject: x86_emulate: Fix near CALL/JMP . Broken by c/s 16491. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14445^2~54 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0afa7733ef403ce05fb78603ecd46b110830a77f;p=xen.git x86_emulate: Fix near CALL/JMP . Broken by c/s 16491. Thanks to AMD for narrowing this one down. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/x86_emulate.c b/xen/arch/x86/x86_emulate.c index a31b5370eb..c1116017db 100644 --- a/xen/arch/x86/x86_emulate.c +++ b/xen/arch/x86/x86_emulate.c @@ -1732,7 +1732,6 @@ x86_emulate( break; case 2: /* call (near) */ case 4: /* jmp (near) */ - dst.type = OP_NONE; if ( (dst.bytes != 8) && mode_64bit() ) { dst.bytes = op_bytes = 8; @@ -1746,6 +1745,7 @@ x86_emulate( _regs.eip = dst.val; if ( (modrm_reg & 7) == 2 ) goto push; /* call */ + dst.type = OP_NONE; break; case 3: /* call (far, absolute indirect) */ case 5: /* jmp (far, absolute indirect) */ {